package Day04作业;
/*
 * @Description: 
 * @Author: Aroma
 * @Date: 2024-09-04 20:36:04
 * @LastEditors: Aroma
 * @LastEditTime: 2024-09-04 21:52:58
 * @别瞎看: 你个无脑牛马
 */
public class Test3{
    public static void main(String[] args) {
        int[] arr={7,9,4,14,3,6};
        //定义一个新数组存放调用完方法返回来的数组
        int[] MaxAndSecondMax=findMaxAndSecondMax(arr);
        System.out.println("最大值："+MaxAndSecondMax[0]);
        System.out.println("次大值："+MaxAndSecondMax[1]);
        
    }
    public static int[] findMaxAndSecondMax(int[] arr){
        //确保有最大值和次大值
        if(arr==null||arr.length<2){
            System.out.println("数组长度至少为2");
        }
        //定义最大值和次大值
        int max=arr[0];
        int secondMax=arr[1];
        //初始化最大值和次大值
        if(arr[0]>arr[1]){
            max=arr[0];
            secondMax=arr[1];
        }
        //从第三个元素开始遍历
        for(int i=2;i<arr.length;i++){
            //如果当前元素大于最大值
            if(arr[i]>max){
                //上一次的最大值为次大值
                secondMax=max;
                //当前元素为最大值
                max=arr[i];
                //如果当前元素大于次大值但小于最大值
            }else if(arr[i]>secondMax&&arr[i]!=max){
                //当前元素为次大值
                secondMax=arr[i];
            }
        }
        //返回由最大值和次大值构成的新数组
        return new int[]{max,secondMax};
    }
}